package tec;

class TestJaugeNaturel {


    private void jeVeuxVrai(boolean expr, String m) {
	assert expr : "\nECHEC jeVeuxVrai <" + m + ">";
    }
    
    private void jeVeuxFaux(boolean expr, String m) {
	assert !expr : "\nECHEC jeVeuxFaux <" + m + ">";
    }


    void lancerTestJaugeNaturel() {
	int nbTest = 0;
	System.out.print("Test de JaugeNaturel:");
	System.out.print("."); nbTest++;
	testDansIntervalle();
	System.out.print("."); nbTest++;
	testInferieurIntervalle();
	System.out.print("."); nbTest++;
	testDeplacement();
	
	

	System.out.println("OK (" + nbTest + ")");
    }
    
    private void testDansIntervalle() {
	JaugeNaturel jauge = new JaugeNaturel(-345,67899,100);
	
	jeVeuxFaux(jauge.estBleu(),"jauge bleu dans intervalle");
	jeVeuxVrai(jauge.estVert(),"jauge verte dans intervalle");
	jeVeuxFaux(jauge.estRouge(),"jauge rouge dans intervalle");
	
    }

    private void testInferieurIntervalle() {
	
	JaugeNaturel jauge2 = new JaugeNaturel(-345,67899,-350);
	JaugeNaturel jauge3 = new JaugeNaturel(-345,67899,-345);

	jeVeuxVrai(jauge2.estBleu(),"jauge bleu strictement inf");
	jeVeuxFaux(jauge2.estVert(),"jauge verte strictement inf");
	jeVeuxFaux(jauge2.estRouge(),"jauge rouge strictement inf");
	jeVeuxVrai(jauge3.estBleu(),"jauge bleu egal inf");
	jeVeuxFaux(jauge3.estVert(),"jauge verte egal inf");
	jeVeuxFaux(jauge3.estRouge(),"jauge rouge egal inf");
	
    }

     private void testDeplacement() {

	 JaugeNaturel jauge4 = new JaugeNaturel(-345,67899,-343);

	 jauge4.decrementer();
	 jauge4.decrementer();
	 jeVeuxVrai(jauge4.estBleu(),"jauge bleu deplacement inf");
	 jeVeuxFaux(jauge4.estVert(),"jauge verte deplacement inf");
	 jeVeuxFaux(jauge4.estRouge(),"jauge rouge deplacement inf");
	 
	jauge4.incrementer();
	jeVeuxFaux(jauge4.estBleu(),"jauge bleu deplacement sup");
	jeVeuxVrai(jauge4.estVert(),"jauge verte deplacement sup");
	jeVeuxFaux(jauge4.estRouge(),"jauge rouge deplacement sup");
	
	}
}